home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / GXEnvironment.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  7.5 KB  |  206 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        GXEnvironment.mod
  3.  
  4.      Contains:    QuickDraw GX environment constants and interfaces
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Package:    Universal Interfaces 2.1ß1 in “MPW Prerelease” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$TAGS-*)
  21. (*$CALLING PASCAL*)
  22. MODULE GXEnvironment;
  23.  
  24. IMPORT SYSTEM, Types, Quickdraw, GXMath, GXTypes;
  25.  
  26. (* $PUSH*)
  27. (* $ALIGN MAC68K*)
  28. (* $LibExport+*)
  29. (*$SET graphicsMacintoshIncludes TRUE*)
  30.  
  31. CONST
  32.     defaultPollingHandlerFlags*    = $00;
  33.     okToSwitchDuringPollFlag*    = $00;
  34.     dontSwitchDuringPollFlag*    = $01;
  35.  
  36.     
  37. TYPE
  38.     gxPollingHandlerFlags* = LONGINT;
  39.  
  40.     gxPollingHandlerProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (reference: LONGINT; flags: gxPollingHandlerFlags);
  41.     gxPollingHandlerUPP* = Types.UniversalProcPtr;
  42.  
  43. CONST
  44.     uppgxPollingHandlerProcInfo* = $000003C1; (* PROCEDURE (4 byte param, 4 byte param); *)
  45.  
  46. PROCEDURE NewgxPollingHandlerProc*(userRoutine: gxPollingHandlerProcPtr): gxPollingHandlerUPP;
  47.     (*$IF NOT GENERATINGCFM *)
  48.     INLINE PASCAL $2E9F;
  49.     (*$END*)
  50.  
  51. PROCEDURE CallgxPollingHandlerProc*(reference: LONGINT; flags: gxPollingHandlerFlags; userRoutine: gxPollingHandlerUPP);
  52.     (*$IF NOT GENERATINGCFM*)
  53.     INLINE PASCAL $205F, $4E90;
  54.     (*$END*)
  55.  
  56. PROCEDURE GXGetGraphicsPollingHandler*(VAR reference: LONGINT): gxPollingHandlerUPP; (*ΔΔ C;*)
  57.     EXTERNAL (*•• C*);
  58. PROCEDURE GXSetGraphicsPollingHandler*(handler: gxPollingHandlerUPP; reference: LONGINT); (*ΔΔ C;*)
  59.     EXTERNAL (*•• C*);
  60. (*$SET graphicsToolboxIncludes TRUE*)
  61. (* QD to QD GX Translator typedefs *)
  62.  
  63. CONST
  64.     gxDefaultOptionsTranslation*    = $0000;
  65.     gxOptimizedTranslation*        = $0001;
  66.     gxReplaceLineWidthTranslation* = $0002;
  67.     gxSimpleScalingTranslation*    = $0004;
  68.     gxSimpleGeometryTranslation*    = $0008;                        (* implies simple scaling *)
  69.     gxSimpleLinesTranslation*    = $000C;                        (* implies simple geometry & scaling *)
  70.     gxLayoutTextTranslation*        = $0010;                        (* turn on gxLine layout (normally off) *)
  71.     gxRasterTargetTranslation*    = $0020;
  72.     gxPostScriptTargetTranslation* = $0040;
  73.     gxVectorTargetTranslation*    = $0080;
  74.  
  75.     
  76. TYPE
  77.     gxTranslationOption* = LONGINT;
  78.  
  79.  
  80. CONST
  81.     gxContainsFormsBegin*        = $0001;
  82.     gxContainsFormsEnd*            = $0002;
  83.     gxContainsPostScript*        = $0004;
  84.     gxContainsEmptyPostScript*    = $0008;
  85.  
  86.     
  87. TYPE
  88.     gxTranslationStatistic* = LONGINT;
  89.  
  90.  
  91. CONST
  92.     gxQuickDrawPictTag*            = LONG("pict");
  93.  
  94.  
  95. TYPE
  96.     gxQuickDrawPict* = RECORD
  97.         (* translator inputs *)
  98.         options*:                gxTranslationOption;
  99.         srcRect*:                Types.Rect;
  100.         styleStretch*:            Types.Point;
  101.         (* size of quickdraw picture data *)
  102.         dataLength*:                LONGINT;
  103.         (* file alias *)
  104.         alias*:                    GXTypes.gxBitmapDataSourceAlias;
  105.     END;
  106.  
  107. (* Windows.WindowRecord utilities *)
  108.  
  109. PROCEDURE GXNewWindowViewPort*(qdWindow: Quickdraw.WindowPtr): GXTypes.gxViewPort; (*ΔΔ C;*)
  110.     EXTERNAL (*•• C*);
  111. PROCEDURE GXGetWindowViewPort*(qdWindow: Quickdraw.WindowPtr): GXTypes.gxViewPort;  (*ΔΔ C;*)
  112.     EXTERNAL (*•• C*);
  113. PROCEDURE GXGetViewPortWindow*(portOrder: GXTypes.gxViewPort): Quickdraw.WindowPtr;  (*ΔΔ C;*)
  114.     EXTERNAL (*•• C*);
  115. (* Quickdraw.GDevice utilities *)
  116. PROCEDURE GXGetViewDeviceGDevice*(theDevice: GXTypes.gxViewDevice): Quickdraw.GDHandle;  (*ΔΔ C;*)
  117.     EXTERNAL (*•• C*);
  118. PROCEDURE GXGetGDeviceViewDevice*(qdGDevice: Quickdraw.GDHandle): GXTypes.gxViewDevice;  (*ΔΔ C;*)
  119.     EXTERNAL (*•• C*);
  120. (* gxPoint utilities *)
  121. PROCEDURE GXConvertQDPoint*((*CONST*)VAR shortPt: Types.Point; portOrder: GXTypes.gxViewPort; VAR fixedPt: GXMath.gxPoint);  (*ΔΔ C;*)
  122.     EXTERNAL (*•• C*);
  123. (* printing utilities typedef *)
  124. TYPE
  125.     gxShapeSpoolProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (toSpool: GXTypes.gxShape; refCon: LONGINT): Types.OSErr;
  126.     gxUserViewPortFilterProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (toFilter: GXTypes.gxShape; portOrder: GXTypes.gxViewPort; refCon: LONGINT);
  127.     gxConvertQDFontProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (dst: GXTypes.gxStyle; txFont: LONGINT; txFace: LONGINT): LONGINT;
  128.     gxShapeSpoolUPP* = Types.UniversalProcPtr;
  129.     gxUserViewPortFilterUPP* = Types.UniversalProcPtr;
  130.     gxConvertQDFontUPP* = Types.UniversalProcPtr;
  131.  
  132. CONST
  133.     uppgxShapeSpoolProcInfo* = $000003E1; (* PROCEDURE (4 byte param, 4 byte param): 2 byte result; *)
  134.     uppgxUserViewPortFilterProcInfo* = $00000FC1; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param); *)
  135.     uppgxConvertQDFontProcInfo* = $00000FF1; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param): 4 byte result; *)
  136.  
  137. PROCEDURE NewgxShapeSpoolProc*(userRoutine: gxShapeSpoolProcPtr): gxShapeSpoolUPP;
  138.     (*$IF NOT GENERATINGCFM *)
  139.     INLINE PASCAL $2E9F;
  140.     (*$END*)
  141.  
  142. PROCEDURE NewgxUserViewPortFilterProc*(userRoutine: gxUserViewPortFilterProcPtr): gxUserViewPortFilterUPP;
  143.     (*$IF NOT GENERATINGCFM *)
  144.     INLINE PASCAL $2E9F;
  145.     (*$END*)
  146.  
  147. PROCEDURE NewgxConvertQDFontProc*(userRoutine: gxConvertQDFontProcPtr): gxConvertQDFontUPP;
  148.     (*$IF NOT GENERATINGCFM *)
  149.     INLINE PASCAL $2E9F;
  150.     (*$END*)
  151.  
  152. PROCEDURE CallgxShapeSpoolProc*(toSpool: GXTypes.gxShape; refCon: LONGINT; userRoutine: gxShapeSpoolUPP): Types.OSErr;
  153.     (*$IF NOT GENERATINGCFM*)
  154.     INLINE PASCAL $205F, $4E90;
  155.     (*$END*)
  156.  
  157. PROCEDURE CallgxUserViewPortFilterProc*(toFilter: GXTypes.gxShape; portOrder: GXTypes.gxViewPort; refCon: LONGINT; userRoutine: gxUserViewPortFilterUPP);
  158.     (*$IF NOT GENERATINGCFM*)
  159.     INLINE PASCAL $205F, $4E90;
  160.     (*$END*)
  161.  
  162. PROCEDURE CallgxConvertQDFontProc*(dst: GXTypes.gxStyle; txFont: LONGINT; txFace: LONGINT; userRoutine: gxConvertQDFontUPP): LONGINT;
  163.     (*$IF NOT GENERATINGCFM*)
  164.     INLINE PASCAL $205F, $4E90;
  165.     (*$END*)
  166.     
  167. TYPE
  168.     gxShapeSpoolFunction* = gxShapeSpoolUPP;
  169.  
  170.     gxUserViewPortFilter* = gxUserViewPortFilterUPP;
  171.  
  172.     gxConvertQDFontFunction* = gxConvertQDFontUPP;
  173.  
  174. (* mouse utilities *)
  175. (* return mouse location in fixed-gxPoint global space *)
  176.  
  177. PROCEDURE GXGetGlobalMouse*(VAR globalPt: GXMath.gxPoint);  (*ΔΔ C;*)
  178.     EXTERNAL (*•• C*);
  179. (* return fixed-gxPoint local mouse (GXTypes.gxViewPort == 0 --> default) *)
  180. PROCEDURE GXGetViewPortMouse*(portOrder: GXTypes.gxViewPort; VAR localPt: GXMath.gxPoint);  (*ΔΔ C;*)
  181.     EXTERNAL (*•• C*);
  182. (* printing utilities *)
  183. PROCEDURE GXGetViewPortFilter*(portOrder: GXTypes.gxViewPort; VAR refCon: LONGINT): gxUserViewPortFilter;  (*ΔΔ C;*)
  184.     EXTERNAL (*•• C*);
  185. PROCEDURE GXSetViewPortFilter*(portOrder: GXTypes.gxViewPort; filter: gxUserViewPortFilter; refCon: LONGINT);  (*ΔΔ C;*)
  186.     EXTERNAL (*•• C*);
  187. (* QD to QD GX Translator functions *)
  188. PROCEDURE GXInstallQDTranslator*(port: Quickdraw.GrafPtr; options: gxTranslationOption; (*CONST*)VAR srcRect: Types.Rect; (*CONST*)VAR dstRect: Types.Rect; styleStrech: Types.Point; userFunction: gxShapeSpoolUPP; reference: (*ΔΔUNIVΔΔ*) Types.Ptr);  (*ΔΔ C;*)
  189.     EXTERNAL (*•• C*);
  190. PROCEDURE GXRemoveQDTranslator*(port: Quickdraw.GrafPtr; VAR statistic: gxTranslationStatistic): gxTranslationStatistic;  (*ΔΔ C;*)
  191.     EXTERNAL (*•• C*);
  192. PROCEDURE GXConvertPICTToShape*(pict: Quickdraw.PicHandle; options: gxTranslationOption; (*CONST*)VAR srcRect: Types.Rect; (*CONST*)VAR dstRect: Types.Rect; styleStretch: Types.Point; destination: GXTypes.gxShape; VAR stats: gxTranslationStatistic): GXTypes.gxShape;  (*ΔΔ C;*)
  193.     EXTERNAL (*•• C*);
  194. (* Find the best GX style given a QD font and face. Called by the QD->GX translator *)
  195. PROCEDURE GXConvertQDFont*(theStyle: GXTypes.gxStyle; txFont: LONGINT; txFace: LONGINT): LONGINT;  (*ΔΔ C;*)
  196.     EXTERNAL (*•• C*);
  197. PROCEDURE GXGetConvertQDFont*(): gxConvertQDFontUPP;  (*ΔΔ C;*)
  198.     EXTERNAL (*•• C*);
  199. PROCEDURE GXSetConvertQDFont*(userFunction: gxConvertQDFontUPP);  (*ΔΔ C;*)
  200.     EXTERNAL (*•• C*);
  201.  
  202. (* $ALIGN RESET*)
  203. (* $POP*)
  204.  
  205.  END GXEnvironment.
  206.